/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package model.negocio;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import model.beans.Pedido;
import model.dao.PedidoDAO;

/**
 *
 * @author Juliane Chaerki
 */
public class PedidoNegocio {

    public PedidoNegocio() {
    }
    
     public List<Object> validaDados(Pedido pedido) throws Exception{
        List<Object> lista = new ArrayList<Object>();
        if(pedido.getProduto().getNome().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Nome Produto'!");
            return lista;
        }
        if(pedido.getProduto().getTipoProduto().getTipo().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Tipo'!");
            return lista;
        }
        if(pedido.getProduto().getModelo().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Modelo'!");
            return lista;
        }
        if(pedido.getProduto().getFabricante().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Fabricante'!");
            return lista;
        }
        if(pedido.getProblema().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Problema'!");
            return lista;
        }
        if(pedido.getDataEntregaPrev().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Data de Entrega'!");
            return lista;
        }
        if(pedido.getValor().equals("")){
            lista.add(false);
            lista.add("Preencha o campo 'Valor'!");
            return lista;
        }
   
        lista.add(true);
        return lista;
    }
     
     public int salvar(Pedido pedido) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         int idPedido = dao.inserir(pedido);
         return idPedido;
     }
     
     public void alterar(Pedido pedido) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         dao.atualizar(pedido);
     }
     
     public void cancelar(int id) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         dao.cancelar(id);
     }
     
     public void efetivar(int id) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         dao.efetivar(id);
     }
     
     public List<Pedido> listar(String strBusca) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         List<Pedido> lista = new ArrayList();
         if(strBusca != null){
             lista = dao.buscar(strBusca);
         }else{
             lista = dao.listarTodos();
         }
         return lista;
     }
     
     public List<Pedido> listarData(Date dataI, Date dataF) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         List<Pedido> lista =  dao.buscarData(dataI, dataF);
         return lista;
     }
     
     public Pedido buscaId(int idCliente) throws Exception{
         PedidoDAO dao = new PedidoDAO();
         Pedido pedido = new Pedido();
         pedido = dao.buscarPorId(idCliente);
         return pedido;
     }

     public List<Integer> montaLista() throws Exception{
         PedidoDAO dao = new PedidoDAO();
         List<Integer> lista = dao.montaLista();
         return lista;
     }
     
     public List<Pedido> listaAtraso() throws Exception{
         PedidoDAO dao = new PedidoDAO();
         List<Pedido> lista =  dao.listarAtraso();
         return lista;
     }
     
     public List<Pedido> listaAbertoHoje() throws Exception{
         PedidoDAO dao = new PedidoDAO();
         List<Pedido> lista =  dao.listarAbertoHoje();
         return lista;
     }
//    public List<Pedido> listaCombo() throws Exception{
//         PedidoDAO dao = new PedidoDAO();
//         List<Pedido> lista = dao.listaCombo();
//        return lista;
//    }
}
